package com.niiwoo.civet.mobile.vo.request.creditor;

import com.niiwoo.tripod.web.vo.PageRequestVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.math.BigDecimal;

/**
 * Created by zhoulinquan on 2018/5/12.
 */
@Getter
@Setter
@ToString
@ApiModel("可交易投资订单查询请求参数")
public class TradableInvestOrderPageRequestVO extends PageRequestVO {
	@ApiModelProperty("排序条件（默认4）；1-剩余期限，2-可转让金额，3-利率；4-投资时间；")
	private Integer sort;

	@ApiModelProperty("排序类型（默认desc）：desc降序，asc升序")
	private String sortType;

	//@ApiModelProperty("标的类型；1-个人标；2-企业标；3-债转标；可多选，格式：1,2")
	//private String projectTypes;
	
	//@ApiModelProperty("授信类型，1-社保授信；7-信用卡授信；8-房产证授信；11-信用授信（结果包含资质授信）；")
	//private Byte creditType;
	
	@ApiModelProperty("贷款类型，0-全部，1-社保贷，2-信用卡贷，3-房抵贷，4-车抵贷，5-供应链贷，9-其他；对应V5.4.0版本中标的类型")
	private Byte loanType;

	@ApiModelProperty("收益方式；2-等额本息；3-先息后本；可多选，格式：2,3")
	private String repaymentTypes;
	
	@ApiModelProperty("待收期数区间")
	private PeriodCondition periodCondition;
	
	//@ApiModelProperty("年化利率区间")
	//private RateCondition rateCondition;
	
	@ApiModelProperty("参考年化利率")
	private BigDecimal interestRate;

	@Getter
	@Setter
	@ToString
	@ApiModel("待收期数区间")
	public static class PeriodCondition {
		@ApiModelProperty("期数起")
		private Integer begin;

		@ApiModelProperty("期数起查询类型：1大于，2大于等于，3等于")
		private Byte beginQueryType;

		@ApiModelProperty("期数止")
		private Integer end;

		@ApiModelProperty("期数止查询类型：1小于，2小于等于，3等于")
		private Byte endQueryType;
	}
	
	@Getter
	@Setter
	@ToString
	@ApiModel("年化利率区间")
	public static class RateCondition {
		@ApiModelProperty("年化利率起")
		private BigDecimal begin;

		@ApiModelProperty("年化利率起查询类型：1大于，2大于等于，3等于")
		private Byte beginQueryType;

		@ApiModelProperty("年化利率止")
		private BigDecimal end;

		@ApiModelProperty("年化利率止查询类型：1小于，2小于等于，3等于")
		private Byte endQueryType;
	}

}
